package app.caihan.scframe.base.fragment

import android.os.Bundle
import androidx.annotation.LayoutRes


interface IBaseFragment {

    /**
     * 绑定界面布局 Fragment执行onCreateView的时候触发
     */
    @LayoutRes
    fun bindLayoutId(): Int


    /**
     * 初始化view Fragment执行onViewCreated后触发
     */
    fun initView(savedInstanceState: Bundle?)

    /**
     * 创建LiveData观察者 Fragment执行lazyLoadData前触发
     */
    fun createObserver()

    /**
     * 懒加载 只有当前fragment 执行onResume后触发
     * lifecycle.currentState == Lifecycle.State.STARTED && isFirst
     */
    fun lazyLoadData()
}